Migrate monorepo tooling to Vite+#3503
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughMigrates the monorepo from Turbo/tsdown/Prettier/ESLint to vite-plus/OXC, adds a shared vite-plus package helper, standardizes published package exports to dist-only, and switches workspace/samples/CI/git hooks to use vp commands. ChangesBuild system and package export standardization
🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Around line 30-31: The cleanup scripts clean:all and nuke:all currently use a
single-level glob '-F './samples/*'' which misses nested sample workspaces;
update both script entries to use a recursive glob like '-F './samples/**'' (or
equivalent recursive pattern supported by the tool) so nested paths such as
samples/hono/hono-with-zod and samples/mcp/custom-server are included when
running vp run and rimraf.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: e9289208-9e66-4531-8acf-3637f01b8687
⛔ Files ignored due to path filters (1)
bun.lockis excluded by!**/*.lock
📒 Files selected for processing (87)
.lintstagedrc.json.oxfmtrc.json.oxlintrc.json.prettierignore.vscode/extensions.json.vscode/settings.jsoneslint.config.tspackage.jsonpackages/angular/package.jsonpackages/angular/tsdown.config.tspackages/angular/vite.config.tspackages/axios/package.jsonpackages/axios/tsdown.config.tspackages/axios/vite.config.tspackages/core/package.jsonpackages/core/src/getters/params.tspackages/core/tsdown.config.tspackages/core/vite.config.tspackages/effect/package.jsonpackages/effect/tsdown.config.tspackages/effect/vite.config.tspackages/fetch/package.jsonpackages/fetch/tsdown.config.tspackages/fetch/vite.config.tspackages/hono/package.jsonpackages/hono/tsdown.config.tspackages/hono/vite.config.tspackages/mcp/package.jsonpackages/mcp/tsdown.config.tspackages/mcp/vite.config.tspackages/mock/package.jsonpackages/mock/tsdown.config.tspackages/mock/vite.config.tspackages/orval/package.jsonpackages/orval/src/utils/options.tspackages/orval/tsdown.config.tspackages/orval/vite.config.tspackages/query/package.jsonpackages/query/tsdown.config.tspackages/query/vite.config.tspackages/solid-start/package.jsonpackages/solid-start/tsdown.config.tspackages/solid-start/vite.config.tspackages/swr/package.jsonpackages/swr/tsdown.config.tspackages/swr/vite.config.tspackages/tsdown.base.tspackages/vite.config.base.tspackages/zod/package.jsonpackages/zod/tsdown.config.tspackages/zod/vite.config.tssamples/angular-app/package.jsonsamples/angular-query/package.jsonsamples/basic/package.jsonsamples/dynamic-ref/package.jsonsamples/hono/composite-routes-with-tags-split/package.jsonsamples/hono/hono-with-fetch-client/package.jsonsamples/hono/hono-with-zod/package.jsonsamples/mcp/custom-server/package.jsonsamples/mcp/petstore/package.jsonsamples/next-app-with-fetch/package.jsonsamples/paginated-response/package.jsonsamples/react-app-with-swr/basic/package.jsonsamples/react-app-with-swr/fetch-client/package.jsonsamples/react-app/package.jsonsamples/react-query/basic/package.jsonsamples/react-query/custom-fetch/package.jsonsamples/react-query/form-data-mutator/package.jsonsamples/react-query/form-data/package.jsonsamples/react-query/form-url-encoded-mutator/package.jsonsamples/react-query/form-url-encoded/package.jsonsamples/react-query/hook-mutator-axios/package.jsonsamples/react-query/hook-mutator-fetch/package.jsonsamples/solid-query/basic/package.jsonsamples/solid-query/custom-fetch/package.jsonsamples/solid-start/basic/package.jsonsamples/svelte-query/basic/package.jsonsamples/svelte-query/custom-fetch/package.jsonsamples/svelte-query/v6-custom-fetch/package.jsonsamples/swr-with-effect/package.jsonsamples/swr-with-zod/package.jsonsamples/vue-query/custom-fetch/package.jsonsamples/vue-query/vue-query-basic/package.jsonscripts/link-workspace-bins.mjstsconfig.base.jsonturbo.jsonvite.config.ts
💤 Files with no reviewable changes (20)
- packages/effect/tsdown.config.ts
- .prettierignore
- scripts/link-workspace-bins.mjs
- packages/angular/tsdown.config.ts
- packages/tsdown.base.ts
- packages/mcp/tsdown.config.ts
- packages/orval/tsdown.config.ts
- packages/axios/tsdown.config.ts
- packages/hono/tsdown.config.ts
- packages/swr/tsdown.config.ts
- packages/solid-start/tsdown.config.ts
- packages/query/tsdown.config.ts
- packages/fetch/tsdown.config.ts
- tsconfig.base.json
- packages/core/tsdown.config.ts
- packages/mock/tsdown.config.ts
- .lintstagedrc.json
- packages/zod/tsdown.config.ts
- turbo.json
- eslint.config.ts
|
this is pretty awesome @anymaniax ! |
|
@anymaniax does this resolve this issue too? #2544 |
There was a problem hiding this comment.
did a quick pass, seems there's still a lot of bun run around
vp install runs bun install which was surprising :)
I didn't get around to testing debugging. But noticed it seems to be expected that users run vp run dev to get the good debug build. IMO vp run build should be for debugging and have a special task for publish build
The github action should probably also be updated https://viteplus.dev/guide/ci
|
|
||
| export default defineConfig({ | ||
| fmt: fmtConfig as OxfmtConfig, | ||
| lint: lintConfig as OxlintConfig, |
There was a problem hiding this comment.
vp docs have
export default defineConfig({
lint: {
options: {
typeAware: true,
typeCheck: true,
},
},
});I'm not seeing typeAware or typeCheck. They seem releavnt
I added the below and it passed vp lint
var _a: number = '';I was expecting something like
Type 'string' is not assignable to type 'number'
and/or
'_a' is declared but its value is never read
There was a problem hiding this comment.
nice catch did the change to add it
There was a problem hiding this comment.
vp uses pnpm by default. Shouldn't we follow?
There was a problem hiding this comment.
when I do vp install I got bun on my computer on my side. It detect the one we use normally and otherwise I prefer bun too personally I dont know the other
There was a problem hiding this comment.
It detect the one that's configured in package.json :)
Given the various issues we've had with bun I'd go with pnpm. But we can defer that to another PR :)
| cache: true, | ||
| dependsOn: ['build'], | ||
| }, | ||
| dev: { |
There was a problem hiding this comment.
vp uses vp dev to start the Vite development server.
https://viteplus.dev/guide/dev
perhaps we should find another name to avoid confusion
There was a problem hiding this comment.
In the packages I dont think we will use the vp dev command to start the vite dev server anyway but we could change the command you have idea? watch ?
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/pr-checks.yaml (1)
16-24:⚠️ Potential issue | 🟠 Major | ⚡ Quick winFix Node mismatch in
pr-checks(22.x vsdevEngines.runtime>=24)
packages/orvaldeclares a Node runtime requirement via rootpackage.jsondevEngines.runtime(node>=24,onFail: "error"), but.github/workflows/pr-checks.yamlsetsmatrix.node-version: [22.x]forvoidzero-dev/setup-vp@v1. This can makevp install/subsequent checks run under an unsupported Node version and diverge from the release workflows that use Node 24.Proposed change
matrix: os: [ubuntu-latest, windows-latest] - node-version: [22.x] + node-version: [24.x]🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/pr-checks.yaml around lines 16 - 24, The workflow sets matrix.node-version to 22.x which conflicts with packages/orval's root package.json devEngines.runtime (node >=24); update the pr-checks workflow matrix.node-version to use Node 24 (e.g., "24.x") so the Setup Vite+ step (uses: voidzero-dev/setup-vp@v1) and subsequent vp install checks run on a supported Node runtime consistent with devEngines.runtime.
🧹 Nitpick comments (2)
samples/angular-app/package.json (1)
15-16: 💤 Low valueStale
.turbocleanup target.With Turbo removed in this migration,
.turbois no longer produced. Therimraf .turbo ...references are harmless (rimraf no-ops on missing paths) but now misleading; consider dropping.turbofromclean/nuke. (This same pattern likely exists across the other samplepackage.jsonfiles in this PR.)🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@samples/angular-app/package.json` around lines 15 - 16, Remove the obsolete ".turbo" target from the npm scripts named "clean" and "nuke" (they currently contain "rimraf .turbo ..."); update those script strings to stop referencing ".turbo" and keep the remaining cleanup paths intact, and run a quick grep across other sample package.json files to remove any other ".turbo" occurrences in similar "clean"/"nuke" scripts..github/workflows/pr-checks.yaml (1)
21-22: ⚡ Quick winConsider pinning the new third-party action to a commit SHA.
voidzero-dev/setup-vp@v1is a newly introduced third-party action and is flagged by zizmor as unpinned. For a less-established action, pinning to a full commit SHA (with the tag in a trailing comment) reduces supply-chain risk from a moved/compromised tag. The first-partyactions/*tags follow the existing repo convention, so this is primarily about the new external dependency.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/pr-checks.yaml around lines 21 - 22, Replace the floating tag reference to the third-party action by pinning it to a specific commit SHA: change the usage of voidzero-dev/setup-vp@v1 to voidzero-dev/setup-vp@<commit-sha> and keep the human-readable tag as a trailing comment (e.g., /* `@v1` */) so the workflow uses an immutable SHA while preserving the tag for clarity; update the workflow step that references voidzero-dev/setup-vp@v1 to use the commit SHA.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/release-publish.yaml:
- Around line 22-26: The publish workflow step using the voidzero-dev/setup-vp
action (the "Setup Vite+" step) currently enables caching via `cache: true`,
which can allow cache poisoning in this privileged publish job; change that
`cache` setting to `false` (or remove the `cache` input entirely) so the publish
run builds from a fresh environment and cannot restore a potentially tainted
dependency/build cache.
In @.github/workflows/snapshot-version-check.yaml:
- Line 67: The printed remediation hint in snapshot-version-check.yaml is
misleading: update the echo string that currently suggests "vp run
test:snapshots:update" to match the actual CI invocation "vp run -w
test:snapshots:update" so contributors run the workspace-scoped command; locate
the echo line in the snapshot-version-check.yaml workflow and replace the
command text accordingly (ensure the message uses "vp run -w
test:snapshots:update").
In `@samples/hono/hono-with-fetch-client/README.md`:
- Around line 15-19: Add the language identifier "bash" to the fenced code block
in the README to satisfy MD040 and reduce markdown-lint noise; locate the
triple-backtick block that contains the commands "cd next-app", "bun install",
and "vp run dev" and change the opening fence from ``` to ```bash so the block
is explicitly marked as a bash shell snippet.
---
Outside diff comments:
In @.github/workflows/pr-checks.yaml:
- Around line 16-24: The workflow sets matrix.node-version to 22.x which
conflicts with packages/orval's root package.json devEngines.runtime (node
>=24); update the pr-checks workflow matrix.node-version to use Node 24 (e.g.,
"24.x") so the Setup Vite+ step (uses: voidzero-dev/setup-vp@v1) and subsequent
vp install checks run on a supported Node runtime consistent with
devEngines.runtime.
---
Nitpick comments:
In @.github/workflows/pr-checks.yaml:
- Around line 21-22: Replace the floating tag reference to the third-party
action by pinning it to a specific commit SHA: change the usage of
voidzero-dev/setup-vp@v1 to voidzero-dev/setup-vp@<commit-sha> and keep the
human-readable tag as a trailing comment (e.g., /* `@v1` */) so the workflow uses
an immutable SHA while preserving the tag for clarity; update the workflow step
that references voidzero-dev/setup-vp@v1 to use the commit SHA.
In `@samples/angular-app/package.json`:
- Around line 15-16: Remove the obsolete ".turbo" target from the npm scripts
named "clean" and "nuke" (they currently contain "rimraf .turbo ..."); update
those script strings to stop referencing ".turbo" and keep the remaining cleanup
paths intact, and run a quick grep across other sample package.json files to
remove any other ".turbo" occurrences in similar "clean"/"nuke" scripts.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: a47453f2-17f5-4c40-8e1e-a05feeb12b2c
📒 Files selected for processing (45)
.github/workflows/pr-checks.yaml.github/workflows/release-prepare.yaml.github/workflows/release-publish.yaml.github/workflows/snapshot-version-check.yaml.husky/commit-msg.husky/pre-commitCONTRIBUTING.mdDEBUGGING.mdREADME.mdpackage.jsonpackages/hono/package.jsonpackages/query/DEVELOPMENT.mdsamples/README.mdsamples/angular-app/package.jsonsamples/angular-query/package.jsonsamples/basic/package.jsonsamples/dynamic-ref/package.jsonsamples/hono/composite-routes-with-tags-split/README.mdsamples/hono/composite-routes-with-tags-split/package.jsonsamples/hono/hono-with-fetch-client/README.mdsamples/hono/hono-with-fetch-client/package.jsonsamples/hono/hono-with-zod/package.jsonsamples/mcp/custom-server/package.jsonsamples/mcp/petstore/package.jsonsamples/next-app-with-fetch/package.jsonsamples/paginated-response/package.jsonsamples/react-app-with-swr/basic/package.jsonsamples/react-app-with-swr/fetch-client/package.jsonsamples/react-app/package.jsonsamples/react-query/basic/package.jsonsamples/react-query/custom-fetch/package.jsonsamples/react-query/form-data-mutator/package.jsonsamples/react-query/form-data/package.jsonsamples/react-query/form-url-encoded-mutator/package.jsonsamples/react-query/form-url-encoded/package.jsonsamples/react-query/hook-mutator-axios/package.jsonsamples/react-query/hook-mutator-fetch/package.jsonsamples/svelte-query/basic/package.jsonsamples/svelte-query/custom-fetch/package.jsonsamples/svelte-query/v6-custom-fetch/package.jsonsamples/swr-with-effect/package.jsonsamples/swr-with-zod/package.jsonsamples/vue-query/custom-fetch/package.jsonsamples/vue-query/vue-query-basic/package.jsontests/package.json
✅ Files skipped from review due to trivial changes (4)
- CONTRIBUTING.md
- samples/react-query/form-url-encoded/package.json
- samples/paginated-response/package.json
- README.md
🚧 Files skipped from review as they are similar to previous changes (19)
- samples/react-query/hook-mutator-fetch/package.json
- samples/swr-with-zod/package.json
- samples/svelte-query/v6-custom-fetch/package.json
- samples/README.md
- samples/hono/composite-routes-with-tags-split/package.json
- samples/svelte-query/custom-fetch/package.json
- samples/react-app-with-swr/basic/package.json
- samples/react-query/hook-mutator-axios/package.json
- samples/react-query/form-data-mutator/package.json
- samples/vue-query/custom-fetch/package.json
- samples/react-app-with-swr/fetch-client/package.json
- samples/angular-query/package.json
- samples/react-query/custom-fetch/package.json
- samples/react-query/form-url-encoded-mutator/package.json
- DEBUGGING.md
- samples/mcp/custom-server/package.json
- samples/next-app-with-fetch/package.json
- samples/react-query/basic/package.json
- package.json
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/pr-checks.yaml (1)
16-24:⚠️ Potential issue | 🟠 Major | ⚡ Quick winCI Node version conflicts with the raised
devEnginesrequirement.The matrix pins
node-version: [22.x]and feeds it tosetup-vp, butpackage.jsonnow declaresdevEngines.runtime.version: ">=24"with"onFail": "error". Ifvp installhonorsdevEngines, the install step will fail on the 22.x runners; at minimum the two are contradictory after this migration. Bump the CI matrix to satisfy>=24.🔧 Proposed fix
- node-version: [22.x] + node-version: [24.x]🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.github/workflows/pr-checks.yaml around lines 16 - 24, The CI matrix currently pins matrix.node-version to 22.x which contradicts the package.json devEngines.runtime.version ">=24" and will cause vp install (setup-vp) to fail; update the matrix.node-version entries to a version satisfying ">=24" (e.g., 24.x and/or 26.x), so the Setup Vite+ step that uses voidzero-dev/setup-vp@v1 with input node-version: ${{ matrix.node-version }} runs on compatible Node versions and no longer conflicts with devEngines.runtime.version.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@vite.config.ts`:
- Around line 19-31: The ignorePatterns array in vite.config.ts currently
contains the literal 'samples', which causes vp fmt --write samples (the
package.json "format:samples" script) to be filtered out and do nothing; remove
'samples' from the ignorePatterns (or alternatively change the "format:samples"
script to target a path not matched by ignorePatterns) so that vp fmt --write
samples actually formats the samples directory; update the ignorePatterns symbol
in vite.config.ts accordingly and keep the package.json "format:samples" script
as-is if you choose removal.
---
Outside diff comments:
In @.github/workflows/pr-checks.yaml:
- Around line 16-24: The CI matrix currently pins matrix.node-version to 22.x
which contradicts the package.json devEngines.runtime.version ">=24" and will
cause vp install (setup-vp) to fail; update the matrix.node-version entries to a
version satisfying ">=24" (e.g., 24.x and/or 26.x), so the Setup Vite+ step that
uses voidzero-dev/setup-vp@v1 with input node-version: ${{ matrix.node-version
}} runs on compatible Node versions and no longer conflicts with
devEngines.runtime.version.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: fd3b1d86-fc00-46dd-a751-28d9262d867c
📒 Files selected for processing (3)
.github/workflows/pr-checks.yamlpackage.jsonvite.config.ts
snebjorn
left a comment
There was a problem hiding this comment.
tested:
- vp run build
- vp run lint
- vp run test
- vp run test:snapshots
- vp run update-samples
- first time I ran it it locked the terminal - not sure what's going
- debugging DX
| matrix: | ||
| os: [ubuntu-latest, windows-latest] | ||
| node-version: [22.x] | ||
| node-version: [24.x] |
There was a problem hiding this comment.
orval support node version is 22.18. I think we should keep the 22.x version to make sure it still works
|
|
||
| ``` | ||
| ```bash | ||
| bun install |
| ``` | ||
| ```bash | ||
| cd hono-app | ||
| bun install |
There was a problem hiding this comment.
vp install
found it a few places, probably just do a search and replace
| "format:staged": "vp staged", | ||
| "format:samples": "vp fmt --write samples", | ||
| "postinstall": "bun scripts/link-workspace-bins.mjs", | ||
| "prepare": "husky", |
There was a problem hiding this comment.
I don't think we need husky anymore. Vite+ has it built-in
https://viteplus.dev/guide/commit-hooks
| "postinstall": "bun scripts/link-workspace-bins.mjs", | ||
| "prepare": "husky", | ||
| "commitlint": "commitlint", | ||
| "update-samples": "vp run -F './packages/*' build && vp run -F './samples' -F orval-tests generate-api", |
There was a problem hiding this comment.
I noticed this error when running
$ vp run update-samples
VITE+ - The Unified Toolchain for the WebNo packages matched the filter: ./samples
...omitted
There was a problem hiding this comment.
did some adaptation but maybe like the comment before do you have the last version of vp?
There was a problem hiding this comment.
I have this
$ vp --version
VITE+ - The Unified Toolchain for the Web
vp v0.1.24
Local vite-plus:
vite-plus v0.1.22
Tools:
vite v8.0.11
rolldown v1.0.0
vitest v4.1.6
oxfmt v0.48.0
oxlint v1.63.0
oxlint-tsgolint v0.22.1
tsdown v0.22.0
Environment:
Package manager bun v1.3.12
Node.js v24.16.0 (devEngines.runtime)
I actually have a newer version of bun
$ bun --version
1.3.14
I tried running nuke:all to reset things, but got this
$ vp run nuke:all
VITE+ - The Unified Toolchain for the Web
~/packages/core$ rimraf dist node_modules ⊘ cache disabled
Error: EPERM: operation not permitted, unlink 'omitted\orval\packages\core\node_modules\.bin\rimraf.exe'
at async unlink (node:internal/fs/promises:1070:10)
at async file:///omitted/orval/node_modules/.bun/rimraf@6.1.2/node_modules/rimraf/dist/esm/fix-eperm.js:14:26
at async method (file:///omitted/orval/node_modules/.bun/rimraf@6.1.2/node_modules/rimraf/dist/esm/retry-busy.js:16:24)
at async rimrafWindowsDir (file:///omitted/orval/node_modules/.bun/rimraf@6.1.2/node_modules/rimraf/dist/esm/rimraf-windows.js:87:9)
at async Promise.all (index 14)
at async rimrafWindowsDir (file:///omitted/orval/node_modules/.bun/rimraf@6.1.2/node_modules/rimraf/dist/esm/rimraf-windows.js:91:25)
at async Promise.all (index 0)
at async rimrafWindowsDir (file:///omitted/orval/node_modules/.bun/rimraf@6.1.2/node_modules/rimraf/dist/esm/rimraf-windows.js:91:25)
at async rimrafWindows (file:///omitted/orval/node_modules/.bun/rimraf@6.1.2/node_modules/rimraf/dist/esm/rimraf-windows.js:61:14)
at async Promise.all (index 1) {
errno: -4048,
code: 'EPERM',
syscall: 'unlink',
path: 'omitted\\orval\\packages\\core\\node_modules\\.bin\\rimraf.exe'
}
There was a problem hiding this comment.
You don’t have the last version locally can you try to upgrade and retry? You are on windows ?
There was a problem hiding this comment.
In fact when doing vp --version I have the same as you and if I do vp upgrade I am updated so I dont know why you have this and not me
There was a problem hiding this comment.
I think local means it's the one that installed in the project.
package.json has "vite-plus": "0.1.22", which lines up with
Local vite-plus:
vite-plus v0.1.22
and yes I'm on windows
| "test:snapshots:update": "vp run test:snapshots --update", | ||
| "lint": "ng lint", | ||
| "generate-api": "orval", | ||
| "generate-api": "vp exec orval", |
There was a problem hiding this comment.
$ vp run generate-api
VITE+ - The Unified Toolchain for the Weberror: Failed to load task graph
- Failed to load task config file for package at "omitted\orval\packages/angular"
- data did not match any variant of untagged enum UserCacheConfig
There was a problem hiding this comment.
you have the last version of viteplus? because cannot reproduce this
Migrate monorepo tooling to Vite+
Replaces the project's build/task/lint/format stack (turbo + tsdown + ESLint + Prettier + lint-staged) with the unified Vite+ (
vp) toolchain. Also resolves #3216 (debug-friendly builds without leaking source into published packages).Why
One zero-config toolchain (
vp pack,vp run, oxlint, oxfmt,vp staged) instead of five separate tools — faster builds with input/output-fingerprinted caching, native workspace-graph task ordering, and Rust-based lint/format. Removes the per-package build/config boilerplate.What changed
Build:
tsdown→vp packpackages/*/tsdown.config.tsandpackages/tsdown.base.ts.packages/*/vite.config.ts(each just callsdefinePackage()) and a sharedpackages/vite.config.base.ts.exportsmap — nodevelopment/source condition leaks into the npm tarball (fix(packaging): published packages expose "development" export condition pointing to missing src/ files (v8.6.0+) #3216).ORVAL_PACK_DEBUG=1produces an unbundled, sourcemapped build for debugging (used by thedevtask).Task runner:
turbo→vp runturbo.json. Tasks (build,typecheck,test,dev,clean,nuke) are defined once invite.config.base.tswith caching and cross-package ordering derived from the workspace dependency graph.clean/nukeare now shared tasks instead of being duplicated in all 13 package manifests; rootclean:all/nuke:allusevp runfilters.Lint & format: ESLint + Prettier → oxlint + oxfmt
eslint.config.tsand.prettierignore; added.oxlintrc.jsonand.oxfmtrc.json.vite.config.tswiresfmt/lint/staged.Pre-commit: lint-staged + Prettier →
vp staged+ oxfmt.lintstagedrc.json, dropped thelint-stageddependency.stagedblock tovite.config.ts; rootpackage.jsonis now"type": "module"sovpcan load the TS config.Misc
.vscode/updated to oxc (oxc.oxc-vscodeformatter,source.fixAll.oxc, Vite+ extension pack; ESLint/Prettier disabled).devEngines).Publish safety
Verified the published artifacts are behavior-equivalent to the previous tsdown build:
catalog:/workspace:*resolve to concrete versions viabun publish, nosrc/leaks into tarballs, andexports/types/binare unchanged — no consumer-breaking regression.Summary by CodeRabbit
Chores
Documentation